package com.qijian.business.domain;

import java.math.BigDecimal;
import com.qijian.common.enums.ApprovalDescriptionEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;

/**
 * 报工对象 production_detail
 *
 * @author qijian
 * @date 2025-03-25
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("production_detail")
public class ProductionDetail extends BaseEntity{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;


    @Excel(name = "工厂生产线主表id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工厂生产线主表id")
    private Long workOrderId;

    @Excel(name = "工单子表id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工单子表id")
    private Long workOrderDetailId;

    @Excel(name = "完工数量")
    @ApiModelProperty(value = "完工数量")
    private BigDecimal finishQty;

    @Excel(name = "工废数量")
    @ApiModelProperty(value = "工废数量")
    private BigDecimal workWasteQty;

    @Excel(name = "是否检验")
    @ApiModelProperty(value = "是否检验")
    private Boolean isCheck;

    @Excel(name = "料废数量")
    @ApiModelProperty(value = "料废数量")
    private BigDecimal feedWasteQty;

    @Excel(name = "工序id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工序id")
    private Long fmProcessId;

    @Excel(name = "工序名称")
    @ApiModelProperty(value = "工序名称")
    private String processName;

    @Excel(name = "工序排序")
    @ApiModelProperty(value = "工序排序")
    private Integer sort;

    @Excel(name = "报工人ID")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "报工人ID")
    private Long userId;

    @Excel(name = "报工人")
    @ApiModelProperty(value = "报工人")
    private String userName;

    @Excel(name = "报工人工资")
    @ApiModelProperty(value = "报工人工资")
    private BigDecimal userSalary;

    @Excel(name = "工艺路线明细id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工艺路线明细id")
    private Long craftId;

    @Excel(name = "设备id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "设备id")
    private Long eqpId;

    @Excel(name = "不良品数")
    @ApiModelProperty(value = "不良品数")
    private BigDecimal badNumber;

    @Excel(name = "包装号")
    @ApiModelProperty(value = "包装号")
    private String packageNo;

    @Excel(name = "是否被分包")
    @ApiModelProperty(value = "是否被分包")
    private Boolean isSubcontracted;

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @Excel(name = "报废数量")
    @ApiModelProperty(value = "报废数量")
    private BigDecimal scrapQty;

    @Excel(name = "工单表id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工单表id")
    private Long dispatchId;

}
